A fim de melhor entender a evolução do patrimônio alocado em ações do Warren Buffett, faremos aqui algumas análises para seguir os seus passos. Mais que isso. Com o objetivo de deixar registrado o percurso para que meus herdeiros conhecam por onde passei, escrevo esse breve e descontraído documento.
Todos os gráficos e tabelas foram costurados com carinho no Rstudio, em Rmarkdown.
A publicação disponível em https://finmasters.com/warren-buffett-net-worth/ contém idade e capital. A elas foram adicionadas algumas colunas e tem-se a tabela 1.
– variação percentual: (período atual / periodo anterior) - 1. De 19 para 21 anos seu patrimônio dobrou, ou seja, aumentou 100%.
– múltiplo: (período atual / período anterior). De 19 para 21 anos seu patrimônio dobrou, ou seja, múltiplo 2.
– período: tempo entre os intevalos
networth$Capital <- scales::dollar(networth$Capital)
networth$Variação <- scales::percent(networth$Variação)
tabela1 <- networth %>%
select(-Capital_paste, Multiplo) %>%
mutate(Variação = ifelse(is.na(Variação), "", Variação),
Intervalo = ifelse(is.na(Intervalo), "", Intervalo),
Multiplo = ifelse(is.na(Multiplo), "", Multiplo))
# tabela1 %>%
# kbl(align = "r") %>%
# kable_paper("hover", full_width = F)
tabela1$Variação = cell_spec(tabela1$Variação, background = ifelse(tabela1$Variação > 0 , "", "red"))
tabela1$Variação[1] <- str_replace(tabela1$Variação[1], "red", "blank")
kbl(tabela1, escape = F, align = "r") %>%
kable_paper("striped", full_width = F)
| Idade | Capital | Variação | Multiplo | Intervalo |
|---|---|---|---|---|
| 14 | $5,000 | |||
| 15 | $6,000 | 20% | 1.2 | 1 |
| 19 | $10,000 | 67% | 1.67 | 4 |
| 21 | $20,000 | 100% | 2 | 2 |
| 26 | $26,000 | 30% | 1.3 | 5 |
| 30 | $1,000,000 | 3 746% | 38.46 | 4 |
| 33 | $2,400,000 | 140% | 2.4 | 3 |
| 35 | $7,000,000 | 192% | 2.92 | 2 |
| 37 | $10,000,000 | 43% | 1.43 | 2 |
| 39 | $25,000,000 | 150% | 2.5 | 2 |
| 43 | $34,000,000 | 36% | 1.36 | 4 |
| 44 | $19,000,000 | -44% | 0.56 | 1 |
| 47 | $67,000,000 | 253% | 3.53 | 3 |
| 52 | $376,000,000 | 461% | 5.61 | 5 |
| 53 | $620,000,000 | 65% | 1.65 | 1 |
| 56 | $1,400,000,000 | 126% | 2.26 | 3 |
| 58 | $2,300,000,000 | 64% | 1.64 | 2 |
| 59 | $3,800,000,000 | 65% | 1.65 | 1 |
| 66 | $17,000,000,000 | 347% | 4.47 | 7 |
| 72 | $36,000,000,000 | 112% | 2.12 | 6 |
| 83 | $58,500,000,000 | 62% | 1.62 | 11 |
| 92 | $109,000,000,000 | 86% | 1.86 | 9 |
É importante notar que a evolução do patrimônio de Warren Buffett é apresentada em periodos não constantes.
Um exemplo de leitura do dado é que o referido investidor apresentou ganho de 36% ao longo de 4 anos (39 a 43). Em outro momento, obteve aumento de seu capital em 65% em apenas um ano (52 para 53), conforme a coluna Invervalo registra.
Ao longo de toda a série de dados exibida na tabela acima, está clara a eficiência da estratégia de investir em Valor. Somente em um registro houve perda de capital.
Deixaremos de lado o montante que Warren Buffet possui e focaremos na variação percentual do capital e múltiplo entre os intervalos apresentados na tabela por dois motivos óbvios:
Desproporção entre os valores iniciais e finais, que chegam a casa dos bilhões. O gráfico apresentado no início do documento (com o rosto do bilionário) faz fortunas de 34 milhões, 67 milhões e até mesmo 376 milhões parecerem pouco, em contraste com 109 bilhões. A propósito, a escala daquele gráfico deveria ter sido alterada.
Ao olhar para a variação do capital em percentual e não em milhões e bilhões, é possível transpor o desempenho para carteiras menos volumosas, ou seja, as nossas.
A figura a seguir apresenta o múltiplo do patrimônio ao longo dos anos.
plot1 <- base %>%
ggplot(aes(Idade, Multiplo)) +
geom_point(color = "blue", size = 2)
ggplotly(plot1)
Nota-se, facilmente, um ponto fora da curva (outlier) em que houve um aumente de 38X o capital dos 26 aos 30 anos, quando ele alcançou seu primeiro milhão.
Considerando que esse foi um aumento de capital repentino e improvável, vamos analisar sua trajetória a partir do primeiro 1 milhão.
Warren buffet levou 62 anos para transformar 1 milhão em 109 bilhões de dolares (dos 30 aos 92 anos). Nos intervalos apresentados, temos o gráfico ajustado para os multiplos após conseguir seu primeiro milhão.
media <- base %>%
filter(Capital > 1000000) %>%
summarise(media = mean(Multiplo)) %>%
pull()
plot2 <- base %>%
filter(Capital > 1000000) %>%
ggplot(aes(Idade, Multiplo)) +
geom_point(color = "blue", size = 2) +
geom_hline(yintercept = media)
ggplotly(plot2)
Uma linha preta foi traçada e representa o múltiplo médio (2.35X ).
Novamente, é importante notar que trata-se de um múltiplo obtido para períodos variados, não constante. Diante disso, vamos calcular qual deveria ser o múltiplo anual, ano após ano, para que nos tornemos bibionários com o cidadão acima citado.
Ir de 1 milhão para 109 bilhões representa um aumento de 109.000 vezes (109mil vezes) em um período de 62 ano. Fazendo uma conta por meio de média simples (uma abordagem simplista) tem-se um multiplicador igual a 1.21, ou seja, seria necessário apurar um ganho de 21% ao ano, ao longo de 62 anos.
A figura abaixo apresenta o patrimônio de Warren Buffet nas barras azuis e a progressão com multiplador 1,21X ao longo do tempo.
taxa_base = 109000 ^ (1/62)
# Create a vector to store the values
values <- numeric(30)
# Set the first value
values[1] <- 1000000
# Use a loop to calculate the subsequent values
for (i in 2:30) {
values[i] <- values[i - 1] * taxa_base
}
# Create a data frame with the values
# df <- data.frame(tempo = seq(1:30), value = values)
anual <- tibble(Idade = seq(30,92)) %>%
mutate(tempo = Idade - 30,
valores = 0)
# Set the first value
anual$valores[1] <- 1000000
# Use a loop to calculate the subsequent values
for (i in 2:nrow(anual)) {
anual$valores[i] <- anual$valores[i - 1] * taxa_base
}
plot3 <- anual %>%
left_join(base, by = "Idade")
plot4 <- ggplot(plot3) +
geom_bar(aes(x=Idade, y=Capital),stat="identity", fill="cyan",colour="#006000")+
geom_point(aes(x=Idade, y=valores),stat="identity",color="red",size=1) +
labs(title= "Validação da taxa anual",
x="Tempo (ano)",y="Capital na Bolsa (U$)") +
scale_y_continuous(labels = suffix_formatter_0)
ggplotly(plot4)
Embora pareça pouco, são 62 anos de ganhos consistentes. Não é coisa fácil. Em 2023 o índice IBOV ficou no valor esperado, como pode ser visto na figura criada pelo bitcoinheiro Renato 38tão.
<>
Um fator de extrema importância no sucesso do investidor em análise é o tempo de dedicação ao mercado financeiro. Foram 62 anos depois do seu primeiro milhão e ainda mentêm o fôlego. Contudo, 62 anos é muito tempo para o investidor comum.
Partindo-se de 1 milhão de dolares, foi calculado o montante ao final de 10 anos para três diferentes multiplicadores: 1.10X, 1.15X e 1.21X (Warren Buffet). os graficos são apresentados em um gráfico com os respectivos valores exibidos em uma tabela.
Resultados dessa magnitude contemplam o reinvestimento de eventuais dividentos, porém a simulação não considera aportes adicionais.
anos <- 10
taxas <- c(round(taxa_base,2), 1.10, 1.15)
tempo <- anos + 1
inicio <- 1000000
# historico$valores[1] <- inicio
for (j in 1:length(taxas)) {
# Create a vector to store the values
values <- numeric(tempo)
# Set the first value
values[1] <- inicio
# Use a loop to calculate the subsequent values
for (i in 2:tempo) {
values[i] <- values[i - 1] * taxas[j]
}
temp <- tibble(tempo = seq(0, anos)) %>%
mutate(valores = values,
taxa = taxas[j])
ifelse(j == 1,
historico <- temp,
historico <- rbind(historico, temp))
}
plot5 <- historico %>%
# filter(taxa < 1.25) %>%
ggplot(aes(tempo, valores, group = taxa, color = as.factor(taxa))) +
geom_line(size = 1.5) +
scale_y_continuous(labels = suffix_formatter_0)
# scale_y_log10()
# geom_bar(aes(x=, y=Capital),stat="identity", fill="cyan",colour="#006000")+
# geom_point(aes(x=Idade, y=valores),stat="identity",color="red",size=1) +
# labs(title= "Validação da taxa anual",
# x="Tempo (ano)",y="Capital na Bolsa (U$)") +
# scale_y_continuous(labels = suffix_formatter_0)
ggplotly(plot5)
historico %>%
arrange(taxa, tempo) %>%
mutate(valores = map(valores, number_formatter, currency = TRUE, digits = 3) %>% unlist()) %>%
pivot_wider(names_from = taxa,
# names_prefix = "Multiplicador ",
values_from = valores) %>%
kbl(escape = F, align = "r") %>%
kable_paper("hover", full_width = F) %>%
add_header_above(c(" ", "Multiplicador" = length(taxas))) %>%
scroll_box(width = "100%", height = "300px")
|
Multiplicador
|
|||
|---|---|---|---|
| tempo | 1.1 | 1.15 | 1.21 |
| 0 | $1M | $1M | $1M |
| 1 | $1.1M | $1.15M | $1.21M |
| 2 | $1.21M | $1.32M | $1.46M |
| 3 | $1.33M | $1.52M | $1.77M |
| 4 | $1.46M | $1.75M | $2.14M |
| 5 | $1.61M | $2.01M | $2.59M |
| 6 | $1.77M | $2.31M | $3.14M |
| 7 | $1.95M | $2.66M | $3.8M |
| 8 | $2.14M | $3.06M | $4.59M |
| 9 | $2.36M | $3.52M | $5.56M |
| 10 | $2.59M | $4.05M | $6.73M |
Após 10 anos, o patrimônio teria aumentado 2,59X, 4X e 6,7X para as respectivas taxas utilizadas. Tomando-se o multiplicador 1.15, este apresenta uma dobra de capital a cada 5 anos, um valor muito significativo pois é importante lembrar que estes cálculos consideram somente a multiplicação do capital inicial, sem a realização de novos aportes.
Chegou a meu conhecimento o trabalho da INVEST MULT CAPITAL ALLOCATION, que segue o conceito de value investing e busca oportunidade de dobra de capital em papeis com a relação P/VP muito descontada.
A dobra de capital a cada 18 meses (um ano e meio) é o mesmo que um multiplicador de 1,587X ao ano, ou ainda, aumentar o capital em 58.7% ao ano. Qual seria o resultado ao final de 9 anos comparado lado a lada com o desempenho médio de Warren Buffet?
anos <- 9
taxas <- c(round(taxa_base,2), 1.587)
tempo <- anos + 1
inicio <- 1000000
# historico$valores[1] <- inicio
for (j in 1:length(taxas)) {
# Create a vector to store the values
values <- numeric(tempo)
# Set the first value
values[1] <- inicio
# Use a loop to calculate the subsequent values
for (i in 2:tempo) {
values[i] <- values[i - 1] * taxas[j]
}
temp <- tibble(tempo = seq(0, anos)) %>%
mutate(valores = values,
taxa = taxas[j])
ifelse(j == 1,
historico <- temp,
historico <- rbind(historico, temp))
}
plot5 <- historico %>%
# filter(taxa < 1.25) %>%
ggplot(aes(tempo, valores, group = taxa, color = as.factor(taxa))) +
geom_line(size = 1.5) +
scale_y_continuous(labels = suffix_formatter_0)
# scale_y_log10()
# geom_bar(aes(x=, y=Capital),stat="identity", fill="cyan",colour="#006000")+
# geom_point(aes(x=Idade, y=valores),stat="identity",color="red",size=1) +
# labs(title= "Validação da taxa anual",
# x="Tempo (ano)",y="Capital na Bolsa (U$)") +
# scale_y_continuous(labels = suffix_formatter_0)
ggplotly(plot5)
historico %>%
arrange(taxa, tempo) %>%
mutate(valores = map(valores, number_formatter, currency = TRUE, digits = 3) %>% unlist()) %>%
pivot_wider(names_from = taxa,
# names_prefix = "Multiplicador ",
values_from = valores) %>%
kbl(escape = F, align = "r") %>%
kable_paper("hover", full_width = F) %>%
add_header_above(c(" ", "Multiplicador" = length(taxas))) %>%
scroll_box(width = "100%", height = "300px")
|
Multiplicador
|
||
|---|---|---|
| tempo | 1.21 | 1.587 |
| 0 | $1M | $1M |
| 1 | $1.21M | $1.59M |
| 2 | $1.46M | $2.52M |
| 3 | $1.77M | $4M |
| 4 | $2.14M | $6.34M |
| 5 | $2.59M | $10.1M |
| 6 | $3.14M | $16M |
| 7 | $3.8M | $25.4M |
| 8 | $4.59M | $40.2M |
| 9 | $5.56M | $63.9M |
Seria possível transformar 1milhão em 64milhões em 9 anos, conforme as simulações acima? Teriamos oportunidades de alocação para este volume de compra, teriamos liquidez?
São respostas que obteremos ao longo da nossa caminhada e é lá que desejo estar daqui a 9 anos.